package com.lgl.scsapi.system.model;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 服务订单model类
 */

@NoArgsConstructor
@Data
@Accessors(chain = true)
public class ServiceOrder implements Serializable {
	private String soId;
	/**
	 * 订单号
	 */
	private String soBillNumber;
	/**
	 * 订单标题/名称
	 */
	private String soName;
	/**
	 * 订单日期
	 */
	private String soOrderDate;
	/**
	 * 订单服务日期
	 */
	private String soServiceDate;
	/**
	 * 服务类型ID
	 */
	private String soServiceTypeId;
	/**
	 * 服务类型名称
	 */
	private String serviceTypeName;
	/**
	 * 订单服务地址-省份名称
	 */
	private String provinceName;
	/**
	 * 订单服务地址-城市编码
	 */
	private String soCityCode;
	/**
	 * 订单服务地址-城市名称
	 */
	private String cityName;
	/**
	 * 订单服务地址-区域编码
	 */
	private String soAreaCode;
	/**
	 * 订单服务地址-区域名称
	 */
	private String areaName;
	/**
	 * 订单服务地址-详细地址（例如XX路XX号XX小区）
	 */
	private String soAddress;
	/**
	 * 订单服务联系电话
	 */
	private String soPhone;
	/**
	 * 订单服务金额
	 */
	private double soAmount;
	/**
	 * 订单描述
	 */
	private String soDesc;
	/**
	 * 订单服务地址经度
	 */
	private String soLng;
	/**
	 * 订单服务地址纬度
	 */
	private String soLat;
	/**
	 * 订单发布人ID
	 */
	private String soUserId;
	/**
	 * 支付方式：0：线下支付，1：微信支付，2：支付宝支付，3：银联支付
	 */
	private byte soPaymentWay;
	/**
	 * 订单状态：
	 * 0：未抢，1：已抢未完成,，2：已完成，
	 * 3：已删除,4:未确认(抢单人完成,被服务人未确认)
	 */
	private byte soStatus;
	/**
	 * 对应的HTML文件路径
	 */
	private String soHtmlPath;
	/**
	 * 抢单人的用户名
	 */
	private String soGetUser;
	/**
	 * 抢单日期
	 */
	private String soRobDate;
	/**
	 * 是否评论，0：未评论,1:已评论
	 */
	private byte isCommented;
	/**
	 * 抢单人完成时间
	 */
	private String robFinishDate;
	/**
	 * 发布人完成时间
	 */
	private String issueFinishDate;
    /**
     * 服务类型
     */
    private String soServiceType;

    @Override
    public String toString(){
		StringBuilder soSb = new StringBuilder();
		soSb.append("ServiceOrder [soId=").append(soId).append(",soBillNumber=").append(soBillNumber)
		.append(",soName=").append(soName).append(",soOrderDate=").append(soOrderDate).append(",soServiceDate=")
		.append(soServiceDate).append(",soServiceTypeId=").append(soServiceTypeId).append(",serviceTypeName=")
		.append(serviceTypeName).append(",provinceName=").append(provinceName).append(",soCityCode=")
		.append(soCityCode).append(",cityName=").append(cityName).append(",soAreaCode=").append(soAreaCode)
		.append(",areaName=").append(areaName).append(",soAddress=").append(soAddress).append(",soPhone=")
		.append(soPhone).append("soAmount=").append(soAmount).append(",soDesc=").append(soDesc)
		.append(",soLng=").append(soLng).append(",soLat=").append(soLat).append(",soUserId=").append(soUserId)
		.append(",soPaymentWay=").append(soPaymentWay).append(",soStatus=").append(soStatus)
		.append(",soHtmlPath=").append(soHtmlPath).append(",soGetUser=").append(soGetUser)
		.append(",soRobDate=").append(soRobDate).append(",isCommented=").append(isCommented).append(",robFinishDate")
		.append(robFinishDate).append(",issueFinishDate=").append(issueFinishDate).append(",soServiceType=")
		.append(soServiceType).append("]。");
		return soSb.toString();
	}
}